x86/S3: add cache flush on secondary CPUs before going to sleep
authorBen Guthro <ben@guthro.net>
Tue, 25 Sep 2012 06:38:14 +0000 (08:38 +0200)
committerBen Guthro <ben@guthro.net>
Tue, 25 Sep 2012 06:38:14 +0000 (08:38 +0200)
commitca71bdf62e7e96579415fce6b562f3a956d94cc9
treee8f461d93e466a4d4935b14373642c4fb278ded2
parent797b603c7e32459c782ec2738fa6a30b4fbbcb83
x86/S3: add cache flush on secondary CPUs before going to sleep

Secondary CPUs, between doing their final memory writes (particularly
updating cpu_initialized) and getting a subsequent INIT, may not write
back all modified data. The INIT itself then causes those modifications
to be lost, so in the cpu_initialized case the CPU would find itself
already initialized, (intentionally) entering an infinite loop instead
of actually coming online.

Signed-off-by: Ben Guthro <ben@guthro.net>
Make acpi_dead_idle() call default_dead_idle() rather than duplicating
the logic there.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/acpi/cpu_idle.c
xen/arch/x86/domain.c
xen/include/asm-x86/cpuidle.h